#include <assert.h>
#include <QDebug>
#include "vertex_object.h"

VertexObject::VertexObject(ShaderProgram *program) {
    initializeOpenGLFunctions();
    m_program = program; 
    init();
}

VertexObject::~VertexObject() {
    m_vbo->destroy();
    m_vao->destroy();
}

// 在resizeGL(),paintGL()之前调用, 仅调用一次。
void VertexObject::init() {
    // 顶点数组对象
    m_vao = new QOpenGLVertexArrayObject();
    m_vao->create();
    m_vao->bind();
    // 顶点缓冲对象
    m_vbo = new QOpenGLBuffer(QOpenGLBuffer::VertexBuffer);
    m_vbo->create();
    m_vbo->bind();
}
